package smallDemend;
import java.util.Scanner;
/**
 * 金额转换
 * 将阿拉伯数字金额转化为中文大写的金额
 * 金额总共7位
 * 无金额的位数填0
 */
@SuppressWarnings("all")
public class AmountConversion {
    public static void main(String[] args) {
        //定义大写数字数组
        String[] arr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
        //格式定义
        String[] form = {"佰", "拾", "万", "仟", "佰", "拾", "元"};
        //将阿拉伯数字转换为大写中文
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入金额:");
        String userMoney = sc.nextLine();
        //计算数字是几位
        int count = 0;
        count = userMoney.length();
        //创建和数字位数一样的数组
        String[] strings = new String[7];
        for (int i = strings.length - 1; i >= 0; i--) {
            //如果循环在录入位数的前面，则录入零，否则录入已有数字
            if (i < strings.length - count) {
                strings[i] = arr[0];
            } else {
                //将字符串类型的数据转换为整数类型
                int money = Integer.parseInt(userMoney);
                //将个位数拿到并放入字符串数组
                strings[i] = arr[money % 10];
                //舍弃个位数字
                userMoney = String.valueOf(money / 10);
            }
        }
        //创建可变字符串
        StringBuffer sb = new StringBuffer();
        //循环取出每个数
        for (int i = 0; i < 7; i++) {
            sb.append(strings[i]).append(form[i]);
        }
        System.out.println(sb.toString());
    }
    /**
     * 测试结果
     * 录入数字：5201314
     * 打印结果：伍佰贰拾零万壹仟叁佰壹拾肆元
     */
}
